package com.jrx.anytxn.transaction.bean;


import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

/**
 * 欠款bean
 *
 * @author haopu.zheng
 * date  2019/8/6
 **/
public class DebtBean implements Serializable {

    /**
     * 应还总金额
     */
    private BigDecimal totalAmount = BigDecimal.ZERO;
    /**
     * 本金金额
     */
    private BigDecimal principalAmount = BigDecimal.ZERO;
    /**
     * 利息金额
     */
    private BigDecimal interestAmount = BigDecimal.ZERO;
    /**
     * 罚息金额
     */
    private BigDecimal penaltyAmount = BigDecimal.ZERO;
    /**
     * 费用金额
     */
    private BigDecimal feeAmount = BigDecimal.ZERO;
    /**
     * 罚息复利
     */
    private BigDecimal compountAmount = BigDecimal.ZERO;
    /**
     * 提前结清手续费
     */
    private BigDecimal preFeeAmount = BigDecimal.ZERO;
    /**
     * 贴息金额
     */
    private BigDecimal waiveAmount = BigDecimal.ZERO;

    /**
     * 欠款明细列表
     */
    private List<DebtDetailBean> debtDetailBeans = new ArrayList<>();

    public DebtBean() {
    }

    public DebtBean(BigDecimal totalAmount, BigDecimal principalAmount, BigDecimal interestAmount,
                    BigDecimal penaltyAmount, BigDecimal feeAmount, List<DebtDetailBean> debtDetailBeans) {
        this.totalAmount = totalAmount;
        this.principalAmount = principalAmount;
        this.interestAmount = interestAmount;
        this.penaltyAmount = penaltyAmount;
        this.feeAmount = feeAmount;
        this.debtDetailBeans = debtDetailBeans;
    }

    public BigDecimal getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(BigDecimal totalAmount) {
        this.totalAmount = totalAmount;
    }

    public BigDecimal getPrincipalAmount() {
        return principalAmount;
    }

    public void setPrincipalAmount(BigDecimal principalAmount) {
        this.principalAmount = principalAmount;
    }

    public BigDecimal getInterestAmount() {
        return interestAmount;
    }

    public void setInterestAmount(BigDecimal interestAmount) {
        this.interestAmount = interestAmount;
    }

    public BigDecimal getPenaltyAmount() {
        return penaltyAmount;
    }

    public void setPenaltyAmount(BigDecimal penaltyAmount) {
        this.penaltyAmount = penaltyAmount;
    }

    public BigDecimal getFeeAmount() {
        return feeAmount;
    }

    public void setFeeAmount(BigDecimal feeAmount) {
        this.feeAmount = feeAmount;
    }

    public BigDecimal getPreFeeAmount() {
        return preFeeAmount;
    }

    public void setPreFeeAmount(BigDecimal preFeeAmount) {
        this.preFeeAmount = preFeeAmount;
    }

    public List<DebtDetailBean> getDebtDetailBeans() {
        return debtDetailBeans;
    }

    public void setDebtDetailBeans(List<DebtDetailBean> debtDetailBeans) {
        this.debtDetailBeans = debtDetailBeans;
    }
    public BigDecimal getCompountAmount() {
        return compountAmount;
    }

    public void setCompountAmount(BigDecimal compountAmount) {
        this.compountAmount = compountAmount;
    }

    public BigDecimal getWaiveAmount() {
        return waiveAmount;
    }

    public void setWaiveAmount(BigDecimal waiveAmount) {
        this.waiveAmount = waiveAmount;
    }
}
